package com.example.demo.service;

import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;

public interface DescriptionAssistant {
    
    /**
     * 根据用户提供的角色基本信息，智能拓写完整的角色描述
     * @param roleInfo 用户提供的角色基本信息
     * @return 拓写后的完整角色描述
     */
    @SystemMessage("你是一个专业的角色设定助手。用户会提供一些角色的基本信息，你需要根据这些信息智能拓写出一个完整、生动、有趣的角色描述。" +
            "请从以下几个方面进行拓写：" +
            "1. 外貌特征：身高、体型、发色、眼色、穿着风格等" +
            "2. 性格特点：主要性格特征、行为习惯、说话方式等" +
            "3. 背景故事：出身、经历、职业、特殊技能等" +
            "4. 兴趣爱好：喜欢什么、讨厌什么、特长等" +
            "5. 人际关系：与他人的相处方式、社交特点等" +
            "请保持描述的连贯性和逻辑性，让角色形象鲜明立体。输出格式要清晰易读，不超过500字。")
    String expandDescription(@UserMessage String roleInfo);
    
    /**
     * 优化已有的角色描述
     * @param existingDescription 现有的角色描述
     * @return 优化后的角色描述
     */
    @SystemMessage("你是一个专业的角色设定助手。用户会提供一个已有的角色描述，你需要对其进行优化和完善。" +
            "请从以下方面进行优化：" +
            "1. 补充缺失的重要信息" +
            "2. 增强描述的生动性和吸引力" +
            "3. 确保逻辑连贯性" +
            "4. 调整语言表达，使其更加流畅" +
            "5. 保持角色的一致性和可信度" +
            "请保持原有角色的核心特征不变，只进行优化和完善。输出格式要清晰易读，不超过500字。")
    String optimizeDescription(@UserMessage String existingDescription);
}